<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>

</body>
<script>
    // arguments 函数内置的关键词(每个函数都有)   => 一般存放函数在调用时所有实际参数的集合
    // this 函数内置的关键词(每个函数都有)        => 一般指向函数在调用时依存的对象


    // this的常见指向
    // (1) 一般情况下(普通函数 -> 命名函数/匿名函数 在调用时没有依存的对象)  this默认指向window
    // (2) 函数调用时属于谁就指向谁(有依存的对象  obj.fn  ele.onclick) 

    function fn() {
        console.log(this);
    }

    // fn();
    // console.log(fn); // 函数在没有调用时,也是存储在内存当中的,函数名也是变量名(函数也是一个特殊的对象 => 引用类型)

    // var fn = function () {
    //     console.log(this);
    // }
    // fn();

    // (function () {   //匿名函数的自调用/自执行
    //     console.log(this);
    // })();

    var arr = [0, 1, 2, 3, fn];
    // console.log(arr[4]);
    // arr[4]();

    var obj = {
        "a": 1,
        "b": 2,
        "fn": fn,
    }
    // console.log(obj.fn);
    // obj.fn();

    // 1. 页面加载时 只是绑定事件
    // 2. 浏览器监听到用户点击行为  => 执行对应的函数
    // document.onclick = function () {
    //     alert(11111)
    // };

    document.onclick = fn;  // 事件中的this指向绑定事件的元素






</script>

</html>